﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using MySql.Data.MySqlClient;
using MySql.Data.Types;

namespace GirisSayfasi
{


    public partial class ProjeKayit : Form
    {

        MySqlConnection baglan = Connection.baglan;
        ProjeArama frmProjeArama = new ProjeArama();
        ProjeDersArama frmProjeDersArama = new ProjeDersArama();


        public ProjeKayit()
        {
            InitializeComponent();
        }



        private void txtMinimumKisi_KeyPress(object sender, KeyPressEventArgs e)
        {
            e.Handled = !char.IsDigit(e.KeyChar) && !char.IsControl(e.KeyChar);
        }
        private void txtMaksimumKisi_KeyPress(object sender, KeyPressEventArgs e)
        {
            e.Handled = !char.IsDigit(e.KeyChar) && !char.IsControl(e.KeyChar);
        }




        private void button1_Click(object sender, EventArgs e)
        {
            string gunpzt, gunsal, guncar, gunper, guncum, guncmr, gunpaz;
            if (chcPzt.Checked == true)
            {
                gunpzt = "1";
            }
            else
            {
                gunpzt = "0";
            }
            if (chcSal.Checked == true)
            {
                gunsal = "1";
            }
            else
            {
                gunsal = "0";
            }
            if (chcCar.Checked == true)
            {
                guncar = "1";
            }
            else
            {
                guncar = "0";
            }
            if (chcPer.Checked == true)
            {
                gunper = "1";
            }
            else
            {
                gunper = "0";
            }
            if (chcCum.Checked == true)
            {
                guncum = "1";
            }
            else
            {
                guncum = "0";
            }
            if (chcCmr.Checked == true)
            {
                guncmr = "1";
            }
            else
            {
                guncmr = "0";
            }
            if (chcPaz.Checked == true)
            {
                gunpaz = "1";
            }
            else
            {
                gunpaz = "0";
            }

            int len = mskProjeKodu.Text.Length;
            if (len != 5)
            {
                MessageBox.Show("Proje Kodu 5 Haneli Olmalıdır.");
                mskProjeKodu.Focus();
            }
            else if (txtProjeAdi.Text == "")
            {
                MessageBox.Show("Proje Adı Boş Bırakılamaz");
                txtProjeAdi.Focus();
            }
            else if (txtDersAdi.Text == "")
            {
                MessageBox.Show("Ders İsmi Boş Bırakılamaz");
                txtDersAdi.Focus();
            }
            else if (txtToplamSaat.Text == "")
            {
                MessageBox.Show("Toplam Ders Süresi Boş Bırakılamaz");
                txtToplamSaat.Focus();
            }
            else if ((chcPzt.Checked == false) && (chcSal.Checked == false) && (chcCar.Checked == false) && (chcPer.Checked == false) && (chcCum.Checked == false) && (chcCmr.Checked == false) && (chcPaz.Checked == false))
            {
                MessageBox.Show("Herhangi Bir Gün Seçimi Yapmadınız.");
                chcPzt.Focus();
            }
            else if (txtMinimumKisi.Text == "")
            {
                MessageBox.Show("Minimum Kişi Sayısı Boş Bırakılamaz");
                txtMinimumKisi.Focus();
            }
            else if (txtMaksimumKisi.Text == "")
            {
                MessageBox.Show("Maksimum Kişi Sayısı Boş Bırakılamaz");
                txtMaksimumKisi.Focus();
            }
            else
            {
                baglan.Open();
                MySqlCommand cmd = new MySqlCommand("select * from projelistesi where ProjeKodu = '" + mskProjeKodu.Text + "'", baglan);
                int Count = Convert.ToInt32(cmd.ExecuteScalar());
                if (Count == 0)
                {
                    string BaslangicTarihi = dateBaslangic.Value.ToString("yyyy/MM/dd");
                    string BitisTarihi = dateBitis.Value.ToString("yyyy/MM/dd");
                    string BaslangicSaati = timeBaslangicSaati.Value.ToString("HH:mm:ss");
                    string BitisSaati = timeBitisSaati.Value.ToString("HH:mm:ss");
                    

                    //MySqlCommand ekle = new MySqlCommand("insert into projelistesi (ProjeID,ProjeAdi,ProjeMinimumKisiSayi,ProjeMaksimumKisiSayi,ProjeBaslangic,ProjeBitis,ProjeGrup,ProjeNotu,ProjeDurumu) VALUES ('','" + txtProjeAdi.Text + "','" + comboBox1.Items.IndexOf(comboBox1.Text).ToString() + "','" + dateBaslangic + "','" + dateBitis + "','" + txtMinimumKisi + "','" + txtMaksimumKisi + "''" + txtNot.Text + "','" + 1 + "')", baglan);
                    MySqlCommand ekle = new MySqlCommand("insert into projelistesi (ProjeID,ProjeKodu,ProjeAdi,ProjeDersKodu,ProjeBaslangicSaati, ProjeBitisSaati,ProjeMinimumKisiSayi,ProjeMaksimumKisiSayi,ProjeBaslangic,ProjeBitis,ProjeToplamSaat,Pzt,Sal,Car,Per,Cum,Cmr,Paz,ProjeNotu,ProjeDurumu) VALUES ('', '" + mskProjeKodu.Text + "',@txtProjeAdi,'" + mskDersKodu.Text + "','" + BaslangicSaati + "','" + BitisSaati + "','" + txtMinimumKisi.Text + "','" + txtMaksimumKisi.Text + "','" + BaslangicTarihi + "','" + BitisTarihi + "','" + txtToplamSaat.Text + "','" + gunpzt + "','" + gunsal + "','" + guncar + "','" + gunper + "','" + guncum + "','" + guncmr + "','" + gunpaz + "','" + txtNot.Text + "','1')", baglan);
                    ekle.Parameters.AddWithValue("@txtProjeAdi", txtProjeAdi.Text);
                    if (ekle.ExecuteNonQuery() == 1)
                    {
                        MessageBox.Show("Proje Başarıyla Eklenmiştir");
                        mskProjeKodu.Clear();
                        txtMaksimumKisi.Clear();
                        txtMinimumKisi.Clear();
                        txtNot.Clear();
                        txtProjeAdi.Clear();
                        txtToplamSaat.Clear();
                        mskDersKodu.Clear();
                        txtDersAdi.Clear();
                        chcPzt.Checked = false;
                        chcSal.Checked = false;
                        chcCar.Checked = false;
                        chcPer.Checked = false;
                        chcCum.Checked = false;
                        chcCmr.Checked = false;
                        chcPaz.Checked = false;
                        baglan.Close();
                        mskProjeKodu.Focus();

                    }
                    else
                    {
                        MessageBox.Show("Hatalı Bir İşlem Oluştu");
                        baglan.Close();
                    }
                }
                else
                {
                    string BaslangicTarihi = dateBaslangic.Value.ToString("yyyy/MM/dd");
                    string BitisTarihi = dateBitis.Value.ToString("yyyy/MM/dd");
                    string BaslangicSaati = timeBaslangicSaati.Value.ToString("HH:mm:ss");
                    string BitisSaati = timeBitisSaati.Value.ToString("HH:mm:ss");
                    

                    MySqlCommand ekle = new MySqlCommand("update projelistesi set ProjeAdi=@txtProjeAdi,ProjeDersKodu='" + mskDersKodu.Text + "',ProjeBaslangicSaati='" + BaslangicSaati + "',ProjeBitisSaati='" + BitisSaati + "',ProjeMinimumKisiSayi='" + txtMinimumKisi.Text + "',ProjeMaksimumKisiSayi='" + txtMaksimumKisi.Text + "',ProjeBaslangic='" + BaslangicTarihi + "',ProjeBitis='" + BitisTarihi + "',ProjeToplamSaat='" + txtToplamSaat.Text + "',Pzt='" + gunpzt + "',Sal='" + gunsal + "',Car='" + guncar + "',Per='" + gunper + "',Cum='" + guncum + "',Cmr='" + guncmr + "',Paz='" + gunpaz + "',ProjeNotu='" + txtNot.Text + "' where ProjeKodu = '" + mskProjeKodu.Text + "'", baglan);
                    ekle.Parameters.AddWithValue("@txtProjeAdi", txtProjeAdi.Text);
                    if (ekle.ExecuteNonQuery() == 1)
                    {
                        MessageBox.Show("Proje Bilgileri Başarıyla Güncellenmiştir");
                        mskProjeKodu.Clear();
                        txtMaksimumKisi.Clear();
                        txtMinimumKisi.Clear();
                        txtNot.Clear();
                        txtProjeAdi.Clear();
                        txtToplamSaat.Clear();
                        mskDersKodu.Clear();
                        txtDersAdi.Clear();
                        chcPzt.Checked = false;
                        chcSal.Checked = false;
                        chcCar.Checked = false;
                        chcPer.Checked = false;
                        chcCum.Checked = false;
                        chcCmr.Checked = false;
                        chcPaz.Checked = false;
                        baglan.Close();
                        mskProjeKodu.Focus();
                    }
                    else
                    {
                        MessageBox.Show("Hatalı Bir İşlem Oluştu");
                        baglan.Close();
                    }

                }

            }
        }

        private void ProjeKayit_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Escape)
            {
                this.Close();
            }

        }

        private void button2_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void txtBaslangicSaati_KeyPress(object sender, KeyPressEventArgs e)
        {
            e.Handled = !char.IsDigit(e.KeyChar) && !char.IsControl(e.KeyChar);
        }

        private void txtBitisSaati_KeyPress(object sender, KeyPressEventArgs e)
        {
            e.Handled = !char.IsDigit(e.KeyChar) && !char.IsControl(e.KeyChar);
        }

        private void button4_Click(object sender, EventArgs e)
        {
            frmProjeArama.ShowDialog();
        }

        private void ProjeKayit_Activated(object sender, EventArgs e)
        {
            ProjeArama.Proje_Kodu = mskProjeKodu.Text;
            mskProjeKodu.Focus();

        }


        private void mskProjeKodu_Leave(object sender, EventArgs e)
        {
            int len = mskProjeKodu.Text.Length;
            if (len == 5)
            {
                baglan.Open();
                MySqlCommand cmd = new MySqlCommand("select * from projelistesi, derslistesi where projelistesi.ProjeKodu = '" + mskProjeKodu.Text + "' AND derslistesi.DersKodu=projelistesi.ProjeDersKodu", baglan);
                int Count = Convert.ToInt32(cmd.ExecuteScalar());
                if (Count != 0)
                {
                    MySqlDataReader oku = cmd.ExecuteReader();
                    while (oku.Read())
                    {
                        txtProjeAdi.Text = oku["ProjeAdi"].ToString();
                        txtMinimumKisi.Text = oku["ProjeMinimumKisiSayi"].ToString();
                        txtMaksimumKisi.Text = oku["ProjeMaksimumKisiSayi"].ToString();
                        txtNot.Text = oku["ProjeNotu"].ToString();
                        timeBaslangicSaati.Text = oku["ProjeBaslangicSaati"].ToString();
                        timeBitisSaati.Text = oku["ProjeBitisSaati"].ToString();
                        txtToplamSaat.Text = oku["ProjeToplamSaat"].ToString();
                        mskDersKodu.Text = oku["ProjeDersKodu"].ToString();
                        txtDersAdi.Text = oku["DersIsmi"].ToString();
                        if (oku["Pzt"].ToString() == "1")
                        {
                            chcPzt.Checked = true;
                        }
                        if (oku["Sal"].ToString() == "1")
                        {
                            chcSal.Checked = true;
                        }
                        if (oku["Car"].ToString() == "1")
                        {
                            chcCar.Checked = true;
                        }
                        if (oku["Per"].ToString() == "1")
                        {
                            chcPer.Checked = true;
                        }
                        if (oku["Cum"].ToString() == "1")
                        {
                            chcCum.Checked = true;
                        }
                        if (oku["Cmr"].ToString() == "1")
                        {
                            chcCmr.Checked = true;
                        }
                        if (oku["Paz"].ToString() == "1")
                        {
                            chcPaz.Checked = true;
                        }


                    }
                }
                else
                {
                    txtProjeAdi.Clear();
                    txtNot.Clear();
                    txtMinimumKisi.Clear();
                    txtMaksimumKisi.Clear();
                    txtToplamSaat.Clear();
                    mskDersKodu.Clear();
                    txtDersAdi.Clear();
                    chcPzt.Checked = false;
                    chcSal.Checked = false;
                    chcCar.Checked = false;
                    chcPer.Checked = false;
                    chcCum.Checked = false;
                    chcCmr.Checked = false;
                    chcPaz.Checked = false;

                }

                baglan.Close();

            }

        }

        private void ProjeKayit_FormClosing(object sender, FormClosingEventArgs e)
        {
            mskProjeKodu.Clear();
            txtMaksimumKisi.Clear();
            txtMinimumKisi.Clear();
            txtNot.Clear();
            txtProjeAdi.Clear();
            txtToplamSaat.Clear();
            mskDersKodu.Clear();
            txtDersAdi.Clear();
            chcPzt.Checked = false;
            chcSal.Checked = false;
            chcCar.Checked = false;
            chcPer.Checked = false;
            chcCum.Checked = false;
            chcCmr.Checked = false;
            chcPaz.Checked = false;

        }

        private void button3_Click(object sender, EventArgs e)
        {
            baglan.Open();
            MySqlCommand cmd = new MySqlCommand("select * from projelistesi where ProjeKodu = '" + mskProjeKodu.Text + "'", baglan);
            int Count = Convert.ToInt32(cmd.ExecuteScalar());
            if (Count == 0)
            {
                MessageBox.Show("Yeni Kayıt Silinemez");
            }
            baglan.Close();
        }

        private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            e.Handled = !char.IsDigit(e.KeyChar) && !char.IsControl(e.KeyChar);
        }

        private void button5_Click(object sender, EventArgs e)
        {
            frmProjeDersArama.ShowDialog();
        }

        private void mskDersKodu_Leave(object sender, EventArgs e)
        {
            int len = mskDersKodu.Text.Length;
            if (len == 5)
            {
                baglan.Open();
                MySqlCommand cmd = new MySqlCommand("select * from derslistesi where DersKodu = '" + mskDersKodu.Text + "'", baglan);
                int Count = Convert.ToInt32(cmd.ExecuteScalar());
                if (Count != 0)
                {
                    MySqlDataReader oku = cmd.ExecuteReader();
                    while (oku.Read())
                    {
                        txtDersAdi.Text = oku["DersIsmi"].ToString();
                    }
                }
                else
                {
                    txtDersAdi.Clear();
                }
                baglan.Close();
            }
        }

        private void button5_Leave(object sender, EventArgs e)
        {
            int len = mskDersKodu.Text.Length;
            if (len == 5)
            {
                baglan.Open();
                MySqlCommand cmd = new MySqlCommand("select * from derslistesi where DersKodu = '" + mskDersKodu.Text + "'", baglan);
                int Count = Convert.ToInt32(cmd.ExecuteScalar());
                if (Count != 0)
                {
                    MySqlDataReader oku = cmd.ExecuteReader();
                    while (oku.Read())
                    {
                        txtDersAdi.Text = oku["DersIsmi"].ToString();
                    }
                }
                else
                {
                    txtDersAdi.Clear();
                }
                txtDersAdi.Focus();
                baglan.Close();
            }

        }

        private void button4_Leave(object sender, EventArgs e)
        {
            int len = mskProjeKodu.Text.Length;
            if (len == 5)
            {
                baglan.Open();
                MySqlCommand cmd = new MySqlCommand("select * from projelistesi, derslistesi where projelistesi.ProjeKodu = '" + mskProjeKodu.Text + "' AND derslistesi.DersKodu=projelistesi.ProjeDersKodu", baglan);
                int Count = Convert.ToInt32(cmd.ExecuteScalar());
                if (Count != 0)
                {
                    MySqlDataReader oku = cmd.ExecuteReader();
                    while (oku.Read())
                    {
                        txtProjeAdi.Text = oku["ProjeAdi"].ToString();
                        txtMinimumKisi.Text = oku["ProjeMinimumKisiSayi"].ToString();
                        txtMaksimumKisi.Text = oku["ProjeMaksimumKisiSayi"].ToString();
                        txtNot.Text = oku["ProjeNotu"].ToString();
                        timeBaslangicSaati.Text = oku["ProjeBaslangicSaati"].ToString();
                        timeBitisSaati.Text = oku["ProjeBitisSaati"].ToString();
                        txtToplamSaat.Text = oku["ProjeToplamSaat"].ToString();
                        mskDersKodu.Text = oku["ProjeDersKodu"].ToString();
                        txtDersAdi.Text = oku["DersIsmi"].ToString();
                        if (oku["Pzt"].ToString() == "1")
                        {
                            chcPzt.Checked = true;
                        }
                        if (oku["Sal"].ToString() == "1")
                        {
                            chcSal.Checked = true;
                        }
                        if (oku["Car"].ToString() == "1")
                        {
                            chcCar.Checked = true;
                        }
                        if (oku["Per"].ToString() == "1")
                        {
                            chcPer.Checked = true;
                        }
                        if (oku["Cum"].ToString() == "1")
                        {
                            chcCum.Checked = true;
                        }
                        if (oku["Cmr"].ToString() == "1")
                        {
                            chcCmr.Checked = true;
                        }
                        if (oku["Paz"].ToString() == "1")
                        {
                            chcPaz.Checked = true;
                        }


                    }
                }
                else
                {
                    txtProjeAdi.Clear();
                    txtNot.Clear();
                    txtMinimumKisi.Clear();
                    txtMaksimumKisi.Clear();
                    txtToplamSaat.Clear();
                    mskDersKodu.Clear();
                    txtDersAdi.Clear();
                    chcPzt.Checked = false;
                    chcSal.Checked = false;
                    chcCar.Checked = false;
                    chcPer.Checked = false;
                    chcCum.Checked = false;
                    chcCmr.Checked = false;
                    chcPaz.Checked = false;

                }

                baglan.Close();

            }

        }



    }
}
